Network Functions Virtualization (NFV) is a network architecture concept that uses virtualization to transform entire classes of network node functions into building blocks that may connect, or chain together, to create network services. A Virtualized Network Function (VNF) may include one or more Virtual Machines (VMs) running different software and processes, on top of standard high-volume servers, switches, and storage, or even cloud computing infrastructure, instead of having custom hardware appliances for each network function. For example, a virtual session border controller could be deployed to protect a network without the typical cost and complexity of obtaining and installing physical equipment for that function. Other examples of NFV include virtualized load balancers, firewalls, Domain Name System (DNS) servers, intrusion detection devices, Wide Area Network (WAN) accelerators, routers, and the like. The NFV framework can be conceptualized with three components generally, namely VNFs, Network Functions Virtualization Infrastructure (NFVI), and Network Functions Virtualization Management and Orchestration Architectural framework (NFV-MANO). Again, VNFs are software implementations of network functions that can be deployed on the NFVI. The NFVI is the totality of all hardware and software components that build the environment where VNFs are deployed. The NFVI can span several locations and the network providing connectivity between these locations is considered as part of the NFVI. The NFV-MANO is the collection of all functional blocks, data repositories used by these blocks, and reference points and interfaces through which these functional blocks exchange information for the purpose of managing and orchestrating NFVI and VNFs.
The delivery of end-to-end services often requires various service functions. These include traditional network service functions such as firewalls and traditional IP Network Address Translators (NATs), as well as application-specific functions. The definition and instantiation of an ordered set of service functions and subsequent “steering” of traffic through them are termed Service Function Chaining (SFC) such as described in IETF RFC 7665 “Service Function Chaining (SFC) Architecture” (October 2015), the contents of which is incorporated by reference. The Service Chain Operations, Administration, and Maintenance (OAM) functions refer to the functionality of collecting and analyzing the SFC path status, detecting failures, and establishing a SFC restoration path. SFC OAM includes fault detection (is the SFC path operational) and fault isolation (where is a fault located in the SFC path). SFC OAM is required, but there are no current techniques specified for SFC fault detection and fault isolation. Specifically, there are no mechanisms to address end-to-end fault detection, to identify per hop fault isolation, and no single standard protocol to address OAM across multi-layer Service Functions (SFs).